using System;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("MeshSwapPegButton")]
	public class MeshSwapPegButton : PegUIElement
	{
		public GameObject upState => method_3<GameObject>("upState");

		public GameObject overState => method_3<GameObject>("overState");

		public GameObject downState => method_3<GameObject>("downState");

		public GameObject disabledState => method_3<GameObject>("disabledState");

		public Vector3 downOffset => method_2<Vector3>("downOffset");

		public Vector3 originalPosition => method_2<Vector3>("originalPosition");

		public Vector3 originalScale => method_2<Vector3>("originalScale");

		public int m_buttonID => method_2<int>("m_buttonID");

		public TextMesh buttonText => method_3<TextMesh>("buttonText");

		public MeshSwapPegButton(IntPtr address, string className)
			: base(address, className)
		{
		}

		public MeshSwapPegButton(IntPtr address)
			: this(address, "MeshSwapPegButton")
		{
		}

		public new void Awake()
		{
			method_8("Awake");
		}

		public new void OnOver(InteractionState oldState)
		{
			method_8("OnOver", oldState);
		}

		public new void OnOut(InteractionState oldState)
		{
			method_8("OnOut", oldState);
		}

		public new void OnPress()
		{
			method_8("OnPress");
		}

		public new void OnRelease()
		{
			method_8("OnRelease");
		}

		public void SetButtonText(string s)
		{
			method_8("SetButtonText", s);
		}

		public void SetButtonID(int id)
		{
			method_8("SetButtonID", id);
		}

		public int GetButtonID()
		{
			return method_11<int>("GetButtonID", Array.Empty<object>());
		}

		public void SetState(InteractionState state)
		{
			method_8("SetState", state);
		}

		public void Show()
		{
			method_8("Show");
		}

		public void Hide()
		{
			method_8("Hide");
		}
	}
}
